# DSP算子C接口命名规范 DSP算子C接口命名规范是为了提高代码的可读性和可维护性,确保所有DSP算子的函数名称都遵循一定的规则和格式。以下是具体的命名规范: ## 1. 基本原则 - **清晰明了**:函数名应清晰地反映其功能或用途。 - **一致性**:所有函数名应遵循相同的命名规则,以保持代码的一致性。 - **简洁**:避免冗长的命名,但同时要确保足够的信息量。 - **蛇形命名**:使用小写字母和下划线(_)分隔单词,例如 `xxx_xxx_xxx`。 - **数据类型开头**:函数名算子的数据类型开始,描述该算子是什么数据类型的算子,以第一个输入数据类型确定算子的数据类型算子;例如 `fp_xxx_xxx`、`dp_xxx_xxx` 等。各个数据类型算子命名规则如下: - `hp`:半精度浮点数算子(float16) - `fp`:浮点数算子(float32) - `dp`:双精度浮点数算子(float64) - `i32`:32位整数算子(int32) - `i16`:16位整数算子(int16) - `i8`:8位整数算子(int8) - `c64`:64位复数算子(complex64) - `c128`:128位复数算子(complex128) - **算子名字在中间**:函数名算子的名字在中间,描述该算子是什么功能的。例如 `xxx_add_xxx`、`xxx_mul_xxx` 等。 - **存储空间类型结尾**:函数名算子的存储空间类型结尾,描述该算子是在共享或者私有存储空间上操作的;其中`_s` 结尾是共享存储版本,`_p` 结尾是私有存储版本;例如 `xxx_xxx_s`、`xxx_xxx_p` 等。 ## 2. 具体命名示例 ### 2.1 加法算子 - **共享存储**: - `fp_add_s` - 表示这是一个在浮点数上操作的加法算子的共享存储版本。 - `hp_add_s` - 表示这是一个在半精度浮点数上操作的加法算子的共享存储版本。 - `dp_add_s` - 表示这是一个在双精度浮点数上操作的加法算子的共享存储版本。 - `i16_add_s` - 表示这是一个在16位整数上操作的加法算子的共享存储版本。 - `i32_add_s` - 表示这是一个在32位整数上操作的加法算子的共享存储版本。 - `i8_add_s` - 表示这是一个在8位整数上操作的加法算子的共享存储版本。 - `c64_add_s` - 表示这是一个在复数(64位)上操作的加法算子的共享存储版本。 - `c128_add_s` - 表示这是一个在复数(128位)上操作的加法算子的共享存储版本。 - **私有存储**: - `fp_add_p` - 表示这是一个在浮点数上操作的加法算子的私有存储版本。 - `hp_add_p` - 表示这是一个在半精度浮点数上操作的加法算子的私有存储版本。 - `dp_add_p` - 表示这是一个在双精度浮点数上操作的加法算子的私有存储版本。 - `i16_add_p` - 表示这是一个在16位整数上操作的加法算子的私有存储版本。 - `i32_add_p` - 表示这是一个在32位整数上操作的加法算子的私有存储版本。 - `i8_add_p` - 表示这是一个在8位整数上操作的加法算子的私有存储版本。 - `c64_add_p` - 表示这是一个在复数(64位)上操作的加法算子的私有存储版本。 - `c128_add_p` - 表示这是一个在复数(128位)上操作的加法算子的私有存储版本。 ## 3. 其他注意事项 ```{note} 对于复合操作,如同时涉及多功能的算子,可以在函数名中适当增加描述性词汇,例如 `xxx_add_sub_xxx` 可以表示一个先加后减的算子。 ```